Fix context copy code in NMI handler.
authorcl349@firebug.cl.cam.ac.uk <cl349@firebug.cl.cam.ac.uk>
Mon, 6 Feb 2006 16:48:34 +0000 (16:48 +0000)
committercl349@firebug.cl.cam.ac.uk <cl349@firebug.cl.cam.ac.uk>
Mon, 6 Feb 2006 16:48:34 +0000 (16:48 +0000)
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
xen/arch/x86/x86_64/entry.S

index e6d745e344d342138235666183429913699a9d8c..30cc19cc4d01fbe2c0f3a6773cf48db9367df1b4 100644 (file)
@@ -479,12 +479,12 @@ ENTRY(nmi)
         jz    nmi_in_hypervisor_mode
         /* Interrupted guest context. Copy the context to stack bottom. */
         GET_GUEST_REGS(%rbx)
-        addq  $UREGS_kernel_sizeof,%rbx
         movl  $UREGS_kernel_sizeof/8,%ecx
 1:      popq  %rax
-        subq  $8,%rbx
         movq  %rax,(%rbx)
+        addq  $8,%rbx
         loop  1b
+        subq  $UREGS_kernel_sizeof,%rbx
         movq  %rbx,%rsp
 nmi_in_hypervisor_mode:
         movq  %rsp,%rdi